package com.wicket.okrapp.web.contorller;

import com.wicket.okrapp.biz.service.ResetCheckItemStateService;
import com.wicket.okrapp.biz.service.dto.req.*;
import com.wicket.okrapp.biz.service.dto.res.*;
import com.wicket.okrapp.common.ro.OkrResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
@RestController
@RequestMapping("/app/resetCheckItemState/")
public class ResetCheckItemStateController {

  @Autowired
  ResetCheckItemStateService resetCheckItemStateService;
/**
   * D3执行循环补偿改目标重置下级检查项状态(公共)
   */
    @PostMapping("implementLoopOffsetUpdateTargetResetCheckItemStateCom")
    public OkrResult<ImplementLoopOffsetUpdateTargetResetCheckItemStateComRespDto> implementLoopOffsetUpdateTargetResetCheckItemStateCom(@RequestBody @Validated ImplementLoopOffsetUpdateTargetResetCheckItemStateComReqDto reqDTO){
    return OkrResult.success(resetCheckItemStateService.implementLoopOffsetUpdateTargetResetCheckItemStateCom(reqDTO));
    }
/**
   * D3执行分析指标操作主体信息(公共)
   */
    @PostMapping("implementAnalyseObjtiveOpeBodyInfoCom")
    public OkrResult<ImplementAnalyseObjtiveOpeBodyInfoComRespDto> implementAnalyseObjtiveOpeBodyInfoCom(@RequestBody @Validated ImplementAnalyseObjtiveOpeBodyInfoComReqDto reqDTO){
    return OkrResult.success(resetCheckItemStateService.implementAnalyseObjtiveOpeBodyInfoCom(reqDTO));
    }
/**
   * D3执行撤销批次处理状态检查项更新(公共)
   */
    @PostMapping("implementUndoBatchHandleCheckItemStateCom")
    public OkrResult<ImplementUndoBatchHandleCheckItemStateComRespDto> implementUndoBatchHandleCheckItemStateCom(@RequestBody @Validated ImplementUndoBatchHandleCheckItemStateComReqDto reqDTO){
    return OkrResult.success(resetCheckItemStateService.implementUndoBatchHandleCheckItemStateCom(reqDTO));
    }
/**
   * D3执行检查项状态等撤销批次恢复(公共)
   */
    @PostMapping("implementCheckItemStateEtcDeleteBatchRecoverCom")
    public OkrResult<ImplementCheckItemStateEtcDeleteBatchRecoverComRespDto> implementCheckItemStateEtcDeleteBatchRecoverCom(@RequestBody @Validated ImplementCheckItemStateEtcDeleteBatchRecoverComReqDto reqDTO){
    return OkrResult.success(resetCheckItemStateService.implementCheckItemStateEtcDeleteBatchRecoverCom(reqDTO));
    }
/**
   * D3执行撤销批次处理仪表盘分子分母(公共)
   */
    @PostMapping("implementUndoBatchHandleDashBoardCom")
    public OkrResult<ImplementUndoBatchHandleDashBoardComRespDto> implementUndoBatchHandleDashBoardCom(@RequestBody @Validated ImplementUndoBatchHandleDashBoardComReqDto reqDTO){
    return OkrResult.success(resetCheckItemStateService.implementUndoBatchHandleDashBoardCom(reqDTO));
    }
/**
   * D3执行撤销批次处理内容节点状态更新(公共)
   */
    @PostMapping("implementUndoBatchHandleParentSubStateStateCom")
    public OkrResult<ImplementUndoBatchHandleParentSubStateStateComRespDto> implementUndoBatchHandleParentSubStateStateCom(@RequestBody @Validated ImplementUndoBatchHandleParentSubStateStateComReqDto reqDTO){
    return OkrResult.success(resetCheckItemStateService.implementUndoBatchHandleParentSubStateStateCom(reqDTO));
    }
/**
   * D3执行撤销批次高中基层刷新父子状态(公共)
   */
    @PostMapping("implementUndoBatchTopMidBasicRefreshParentSonStateCom")
    public OkrResult<ImplementUndoBatchTopMidBasicRefreshParentSonStateComRespDto> implementUndoBatchTopMidBasicRefreshParentSonStateCom(@RequestBody @Validated ImplementUndoBatchTopMidBasicRefreshParentSonStateComReqDto reqDTO){
    return OkrResult.success(resetCheckItemStateService.implementUndoBatchTopMidBasicRefreshParentSonStateCom(reqDTO));
    }
}
